package com.zl.autocode.service.autocode;

import com.zl.autocode.dto.autocode.previewTemplate.ReqPreviewTemplateAddDTO;
import com.zl.autocode.dto.autocode.previewTemplate.ReqPreviewTemplateDelDTO;
import com.zl.autocode.dto.autocode.previewTemplate.ReqPreviewTemplateDetailDTO;
import com.zl.autocode.dto.autocode.previewTemplate.ReqPreviewTemplateEditDTO;
import com.zl.autocode.dto.autocode.previewTemplate.ReqPreviewTemplateQueryDTO;
import com.zl.autocode.dto.autocode.previewTemplate.ReqPreviewTemplateStateDTO;
import com.zl.autocode.dto.autocode.previewTemplate.ResPreviewTemplateAddDTO;
import com.zl.autocode.dto.autocode.previewTemplate.ResPreviewTemplateDelDTO;
import com.zl.autocode.dto.autocode.previewTemplate.ResPreviewTemplateDetailDTO;
import com.zl.autocode.dto.autocode.previewTemplate.ResPreviewTemplateEditDTO;
import com.zl.autocode.dto.autocode.previewTemplate.ResPreviewTemplateQueryDTO;
import com.zl.autocode.dto.autocode.previewTemplate.ResPreviewTemplateStateDTO;
import com.zl.common.dto.ReqDTO;

/**
 * 可视化预览模板
 * @author ZL
 */
public interface IPreviewTemplateService {

    /**
     * 查询
     */
    ResPreviewTemplateQueryDTO queryPreviewTemplateList(ReqDTO<ReqPreviewTemplateQueryDTO> reqInfo) throws Exception;
    
    /**
     * 详情
     */
    ResPreviewTemplateDetailDTO queryPreviewTemplateDetail(ReqDTO<ReqPreviewTemplateDetailDTO> reqInfo) throws Exception;
    
    /**
     * 新增
     */
    ResPreviewTemplateAddDTO insertPreviewTemplateInfo(ReqDTO<ReqPreviewTemplateAddDTO> reqInfo) throws Exception;
    
    /**
     * 编辑
     */
    ResPreviewTemplateEditDTO updatePreviewTemplateInfo(ReqDTO<ReqPreviewTemplateEditDTO> reqInfo) throws Exception;
    
    /**
     * 删除
     */
    ResPreviewTemplateDelDTO deletePreviewTemplateInfo(ReqDTO<ReqPreviewTemplateDelDTO> reqInfo) throws Exception;
    
    /**
     * 更新状态
     */
    ResPreviewTemplateStateDTO updatePreviewTemplateState(ReqDTO<ReqPreviewTemplateStateDTO> reqInfo) throws Exception;
    
    /**
     * 删除
     */
    ResPreviewTemplateDelDTO deletePreviewTemplateAndDetail(ReqDTO<ReqPreviewTemplateDelDTO> reqInfo) throws Exception;
}